@microsoft/omnichannel-chat-widget 0.1.0-main.7b290a7 → 0.1.0-main.834a4cd

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/README.md +32 -0
  2. package/lib/cjs/common/Constants.js +26 -161
  3. package/lib/cjs/common/KeyCodes.js +0 -3
  4. package/lib/cjs/common/contextDataStore/DataStoreManager.js +0 -4
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +24 -0
  6. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  7. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  8. package/lib/cjs/common/telemetry/TelemetryConstants.js +49 -26
  9. package/lib/cjs/common/telemetry/TelemetryHelper.js +16 -57
  10. package/lib/cjs/common/telemetry/TelemetryManager.js +0 -31
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
  12. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
  13. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
  14. package/lib/cjs/common/utils.js +71 -85
  15. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
  16. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +19 -25
  17. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  18. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +7 -32
  19. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  20. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -36
  21. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  22. package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
  23. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  24. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -44
  25. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  26. package/lib/cjs/components/headerstateful/HeaderStateful.js +16 -30
  27. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  28. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +37 -0
  29. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +18 -0
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  31. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +32 -0
  32. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +62 -0
  33. package/lib/cjs/components/livechatwidget/common/Deferred.js +35 -0
  34. package/lib/cjs/components/livechatwidget/common/authHelper.js +50 -0
  35. package/lib/cjs/components/livechatwidget/common/createAdapter.js +10 -9
  36. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  37. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -10
  38. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +36 -43
  39. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  40. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +70 -40
  41. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  42. package/lib/cjs/components/livechatwidget/common/endChat.js +103 -42
  43. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  44. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  45. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  46. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +32 -53
  47. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +78 -128
  48. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  49. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -15
  50. package/lib/cjs/components/livechatwidget/common/shareObservable.js +41 -0
  51. package/lib/cjs/components/livechatwidget/common/startChat.js +226 -102
  52. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  53. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  54. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  55. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +315 -193
  56. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +4 -17
  57. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  58. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  59. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  60. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  61. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  62. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  63. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  64. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -44
  65. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +19 -33
  66. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  67. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -19
  68. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -7
  69. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  70. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  71. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +9 -26
  72. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -16
  73. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  74. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -15
  75. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  76. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  77. package/lib/cjs/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +10 -0
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -4
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -37
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +9 -19
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -60
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +41 -0
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +82 -0
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +89 -0
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +2 -12
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +6 -28
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  118. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  119. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  120. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  121. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  122. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  123. package/lib/cjs/contexts/common/ConversationState.js +3 -3
  124. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +6 -3
  125. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +12 -13
  126. package/lib/cjs/contexts/createReducer.js +156 -102
  127. package/lib/cjs/controller/componentController.js +4 -33
  128. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  129. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  130. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  131. package/lib/cjs/index.js +0 -5
  132. package/lib/cjs/plugins/newMessageEventHandler.js +15 -36
  133. package/lib/esm/common/Constants.js +23 -148
  134. package/lib/esm/common/KeyCodes.js +0 -2
  135. package/lib/esm/common/contextDataStore/DataStoreManager.js +0 -2
  136. package/lib/esm/common/storage/default/defaultCacheManager.js +16 -0
  137. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  138. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  139. package/lib/esm/common/telemetry/TelemetryConstants.js +53 -23
  140. package/lib/esm/common/telemetry/TelemetryHelper.js +16 -45
  141. package/lib/esm/common/telemetry/TelemetryManager.js +0 -18
  142. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  143. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  144. package/lib/esm/common/utils.js +64 -47
  145. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  146. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +22 -12
  147. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  148. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +9 -13
  149. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +8 -15
  150. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  151. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  152. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +15 -37
  153. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  154. package/lib/esm/components/headerstateful/HeaderStateful.js +16 -15
  155. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  156. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +30 -0
  157. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +11 -0
  158. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.js +1 -0
  159. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +25 -0
  160. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +55 -0
  161. package/lib/esm/components/livechatwidget/common/Deferred.js +28 -0
  162. package/lib/esm/components/livechatwidget/common/authHelper.js +42 -0
  163. package/lib/esm/components/livechatwidget/common/createAdapter.js +12 -4
  164. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  165. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  166. package/lib/esm/components/livechatwidget/common/createMarkdown.js +38 -37
  167. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  168. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +72 -27
  169. package/lib/esm/components/livechatwidget/common/endChat.js +103 -28
  170. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  171. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  172. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  173. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +35 -22
  174. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +78 -110
  175. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  176. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -7
  177. package/lib/esm/components/livechatwidget/common/shareObservable.js +35 -0
  178. package/lib/esm/components/livechatwidget/common/startChat.js +228 -84
  179. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  180. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  181. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +319 -140
  182. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +4 -5
  183. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  184. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  185. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  186. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  187. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  188. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  189. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  190. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +15 -29
  191. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +21 -9
  192. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  193. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +94 -4
  194. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  195. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  196. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  197. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +9 -18
  198. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -12
  199. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  200. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +3 -5
  201. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  202. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  203. package/lib/esm/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.js +1 -0
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -0
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +0 -2
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +27 -22
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +11 -11
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +23 -38
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +34 -0
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +80 -0
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +83 -0
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +3 -3
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +7 -14
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +3 -3
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  242. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  243. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  244. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  245. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  246. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  247. package/lib/esm/contexts/ChatContextStore.js +2 -1
  248. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  249. package/lib/esm/contexts/common/ConversationState.js +3 -3
  250. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +6 -3
  251. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +12 -9
  252. package/lib/esm/contexts/createReducer.js +156 -99
  253. package/lib/esm/controller/componentController.js +5 -4
  254. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  255. package/lib/esm/hooks/useChatContextStore.js +0 -4
  256. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  257. package/lib/esm/plugins/newMessageEventHandler.js +15 -26
  258. package/lib/types/common/Constants.d.ts +21 -1
  259. package/lib/types/common/interfaces/IContextDataStore.d.ts +1 -1
  260. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  261. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  262. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  263. package/lib/types/common/telemetry/TelemetryConstants.d.ts +36 -8
  264. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -4
  265. package/lib/types/common/utils.d.ts +7 -1
  266. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +2 -1
  267. package/lib/types/components/livechatwidget/common/ActivityStreamHandler.d.ts +14 -0
  268. package/lib/types/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.d.ts +5 -0
  269. package/lib/types/components/livechatwidget/common/ActivitySubscriber/IActivitySubscriber.d.ts +6 -0
  270. package/lib/types/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.d.ts +7 -0
  271. package/lib/types/components/livechatwidget/common/ChatAdapterShim.d.ts +7 -0
  272. package/lib/types/components/livechatwidget/common/Deferred.d.ts +9 -0
  273. package/lib/types/components/livechatwidget/common/authHelper.d.ts +5 -0
  274. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  275. package/lib/types/components/livechatwidget/common/endChat.d.ts +1 -1
  276. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +6 -7
  277. package/lib/types/components/livechatwidget/common/shareObservable.d.ts +1 -0
  278. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -2
  279. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +2 -1
  280. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +5 -2
  281. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  282. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  283. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  284. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  285. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -2
  286. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  287. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  288. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  289. package/lib/types/components/webchatcontainerstateful/interfaces/IBotMagicCodeConfig.d.ts +4 -0
  290. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  291. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +4 -0
  292. package/lib/types/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.d.ts +3 -0
  293. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  294. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.d.ts +2 -0
  295. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.d.ts +1 -0
  296. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  297. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  298. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  299. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.d.ts +5 -0
  300. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  301. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +4 -3
  302. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +7 -3
  303. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  304. package/package.json +5 -4
package/README.md CHANGED
@@ -11,6 +11,8 @@
11
11
  1. [Installation](#installation)
12
12
  1. [Example Usage](#example-usage)
13
13
  1. [Components](#components)
14
+ 1. [Common Scenarios](#common-scenarios)
15
+ - [Disable Bot Magic Code](#disable-bot-magic-code)
14
16
  1. [See Also](#see-also)
15
17
 
16
18
  ## Introduction
@@ -218,6 +220,36 @@ const customizedFooterProp: IFooterProps = {
218
220
 
219
221
  > :pushpin: Note that [WebChat hooks](https://github.com/microsoft/BotFramework-WebChat/blob/main/docs/HOOKS.md) can also be used in any custom components.
220
222
 
223
+ ## Common Scenarios
224
+
225
+ ### Disable Bot Magic Code
226
+
227
+ Configuration to disable the default behaviour of having to type the magic code in the conversation to complete the sign-in proccess with a bot. Instead, the magic code will be sent to the bot behind the scenes.
228
+
229
+ 1. Add [MagicCodeForwarder.html](sample/MagicCodeForwarder.html) in the same location as the chat widget
230
+
231
+ 2. Add `botMagicCode` configuration to disable default magic code feature
232
+
233
+ > :exclamation: `fwdUrl` **MUST** have the same `origin` as the chat widget URL
234
+
235
+ ```js
236
+ const liveChatWidgetProps = {
237
+ chatSDK: chatSDK, // mandatory
238
+ chatConfig: chatConfig, // mandatory
239
+ webChatContainerProps: {
240
+ botMagicCode: {
241
+ disabled: true,
242
+ fwdUrl: 'http://localhost:8000/sample/MagicCodeForwarder.html'
243
+ }
244
+ },
245
+ };
246
+
247
+ ReactDOM.render(
248
+ <LiveChatWidget {...liveChatWidgetProps}/>,
249
+ document.getElementById("my-container")
250
+ );
251
+ ```
252
+
221
253
  ## See Also
222
254
 
223
255
  [Telemetry](https://github.com/microsoft/omnichannel-chat-widget/blob/main/docs/Telemetry.md)\
@@ -3,335 +3,200 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WebChatMiddlewareConstants = exports.TranscriptConstants = exports.Regex = exports.MimeTypes = exports.LocaleConstants = exports.HtmlIdNames = exports.HtmlElementSelectors = exports.HtmlClassNames = exports.HtmlAttributeNames = exports.EnvironmentVersion = exports.ElementType = exports.Constants = exports.ChatSDKError = exports.AriaTelemetryConstants = void 0;
7
-
6
+ exports.WebChatMiddlewareConstants = exports.TranscriptConstants = exports.Regex = exports.MimeTypes = exports.LocaleConstants = exports.LiveWorkItemState = exports.HtmlIdNames = exports.HtmlElementSelectors = exports.HtmlClassNames = exports.HtmlAttributeNames = exports.EnvironmentVersion = exports.ElementType = exports.E2VVOptions = exports.Constants = exports.ChatSDKError = exports.AriaTelemetryConstants = void 0;
8
7
  var _class;
9
-
10
8
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
-
12
9
  class Constants {}
13
-
14
10
  exports.Constants = Constants;
15
-
11
+ _defineProperty(Constants, "magicCodeBroadcastChannel", "MagicCodeChannel");
12
+ _defineProperty(Constants, "magicCodeResponseBroadcastChannel", "MagicCodeResponseChannel");
16
13
  _defineProperty(Constants, "systemMessageTag", "system");
17
-
18
14
  _defineProperty(Constants, "userMessageTag", "user");
19
-
20
15
  _defineProperty(Constants, "historyMessageTag", "history");
21
-
22
16
  _defineProperty(Constants, "agentEndConversationMessageTag", "agentendconversation");
23
-
24
17
  _defineProperty(Constants, "supervisorForceCloseMessageTag", "supervisorforceclosedconversation");
25
-
26
18
  _defineProperty(Constants, "receivedMessageClassName", "ms_lcw_webchat_received_message");
27
-
28
19
  _defineProperty(Constants, "sentMessageClassName", "ms_lcw_webchat_sent_message");
29
-
30
20
  _defineProperty(Constants, "webchatChannelId", "webchat");
31
-
32
21
  _defineProperty(Constants, "markdown", "markdown");
33
-
34
22
  _defineProperty(Constants, "actionType", "actionType");
35
-
36
23
  _defineProperty(Constants, "String", "string");
37
-
38
24
  _defineProperty(Constants, "ChatMessagesJson", "chatMessagesJson");
39
-
40
25
  _defineProperty(Constants, "truePascal", "True");
41
-
42
26
  _defineProperty(Constants, "true", "true");
43
-
44
27
  _defineProperty(Constants, "false", "false");
45
-
46
28
  _defineProperty(Constants, "maximumUnreadMessageCount", 99);
47
-
48
- _defineProperty(Constants, "widgetStateDataKey", "LcwChatWidgetState");
49
-
50
29
  _defineProperty(Constants, "channelIdKey", "ChannelId-");
51
-
52
30
  _defineProperty(Constants, "ChannelId", "lcw");
53
-
54
31
  _defineProperty(Constants, "CustomerTag", "FromCustomer");
55
-
56
32
  _defineProperty(Constants, "GifContentType", "image/gif");
57
-
58
33
  _defineProperty(Constants, "video", "video");
59
-
60
34
  _defineProperty(Constants, "audio", "audio");
61
-
62
35
  _defineProperty(Constants, "controlsList", "controlsList");
63
-
64
36
  _defineProperty(Constants, "nodownload", "nodownload");
65
-
66
37
  _defineProperty(Constants, "activity", "activity");
67
-
68
38
  _defineProperty(Constants, "payload", "payload");
69
-
70
39
  _defineProperty(Constants, "text", "text");
71
-
72
40
  _defineProperty(Constants, "blank", "_blank");
73
-
74
41
  _defineProperty(Constants, "visitorIdPrefix", "8:");
75
-
76
42
  _defineProperty(Constants, "left", "left");
77
-
78
43
  _defineProperty(Constants, "queuePositionMessageTag", "queueposition");
79
-
80
44
  _defineProperty(Constants, "averageWaitTimeMessageTag", "averagewaittime");
81
-
82
45
  _defineProperty(Constants, "message", "message");
83
-
46
+ _defineProperty(Constants, "hiddenTag", "Hidden");
47
+ _defineProperty(Constants, "prefixTimestampTag", "ServerMessageTimestamp_");
48
+ _defineProperty(Constants, "acsChannel", "ACS_CHANNEL");
49
+ _defineProperty(Constants, "publicMessageTag", "public");
84
50
  _defineProperty(Constants, "supportedAdaptiveCardContentTypes", ["application/vnd.microsoft.card.adaptive", "application/vnd.microsoft.card.audio", "application/vnd.microsoft.card.hero", "application/vnd.microsoft.card.receipt", "application/vnd.microsoft.card.thumbnail", "application/vnd.microsoft.card.signin", "application/vnd.microsoft.card.oauth"]);
85
-
86
51
  _defineProperty(Constants, "maxUploadFileSize", "500000");
87
-
88
52
  _defineProperty(Constants, "imageRegex", /(\.)(jpeg|jpg|jiff|png|gif|bmp)$/i);
89
-
90
53
  _defineProperty(Constants, "audioMediaRegex", /(\.)(aac|aiff|alac|flac|mp2|mp3|pcm|wav|wma)$/i);
91
-
92
54
  _defineProperty(Constants, "videoMediaRegex", /(\.)(avchd|avi|flv|mpe|mpeg|mpg|mpv|mp4|m4p|m4v|mov|qt|swf|webm|wmv)$/i);
93
-
94
55
  _defineProperty(Constants, "chromeSupportedInlineMediaRegex", /(\.)(aac|mp3|wav|mp4)$/i);
95
-
96
56
  _defineProperty(Constants, "firefoxSupportedInlineMediaRegex", /(\.)(aac|flac|mp3|wav|mp4|mov)$/i);
97
-
98
57
  _defineProperty(Constants, "CallAdded", "callAdded");
99
-
100
58
  _defineProperty(Constants, "LocalVideoStreamAdded", "localVideoStreamAdded");
101
-
102
59
  _defineProperty(Constants, "LocalVideoStreamRemoved", "localVideoStreamRemoved");
103
-
104
60
  _defineProperty(Constants, "RemoteVideoStreamAdded", "remoteVideoStreamAdded");
105
-
106
61
  _defineProperty(Constants, "RemoteVideoStreamRemoved", "remoteVideoStreamRemoved");
107
-
108
62
  _defineProperty(Constants, "CallDisconnected", "callDisconnected");
109
-
110
63
  _defineProperty(Constants, "IncomingCallEnded", "incomingCallEnded");
111
-
112
64
  _defineProperty(Constants, "VoiceVideoInitialize", "voiceVideoInitialize");
113
-
114
65
  _defineProperty(Constants, "VoiceVideoInitializeException", "voiceVideoInitializeOnException");
115
-
116
66
  _defineProperty(Constants, "VoiceVideoLoading", "voiceVideoLoading");
117
-
118
67
  _defineProperty(Constants, "VoiceVideoNotLoaded", "voiceVideoNotLoaded");
119
-
120
68
  _defineProperty(Constants, "VoiceVideoLoadingException", "voiceVideoLoadingOnException");
121
-
122
69
  _defineProperty(Constants, "VoiceVideoAcceptCallException", "voiceVideoAcceptCallOnException");
123
-
124
70
  _defineProperty(Constants, "VoiceVideoAcceptCallWithVideoException", "voiceVideoAcceptCallWithVideoException");
125
-
126
71
  _defineProperty(Constants, "defaultDownloadTranscriptError", "Download transcript failed.");
127
-
128
72
  _defineProperty(Constants, "ProactiveChatInviteTimeoutInMs", 60000);
129
-
130
73
  _defineProperty(Constants, "InputSubmit", "InputSubmit");
131
-
132
74
  _defineProperty(Constants, "ReconnectIdAttributeName", "oc.reconnectid");
133
-
134
75
  _defineProperty(Constants, "LiveChatWidget", "LiveChatWidgetNew");
135
-
136
76
  _defineProperty(Constants, "GuidPattern", "xx-x-4m-ym-xxx");
137
-
138
77
  _defineProperty(Constants, "Default", "default");
139
-
140
78
  _defineProperty(Constants, "Zero", "zero");
141
-
142
79
  _defineProperty(Constants, "Title", "title");
143
-
144
80
  _defineProperty(Constants, "Target", "target");
145
-
146
81
  _defineProperty(Constants, "Blank", "_blank");
147
-
148
82
  _defineProperty(Constants, "TargetRelationship", "rel");
149
-
150
83
  _defineProperty(Constants, "TargetRelationshipAttributes", "noopener noreferrer");
151
-
152
84
  _defineProperty(Constants, "OpenLinkIconCssClass", "webchat__markdown__external-link-icon");
153
-
154
85
  _defineProperty(Constants, "internetConnectionTestUrl", "https://ocsdk-prod.azureedge.net/public/connecttest.txt");
155
-
156
86
  _defineProperty(Constants, "internetConnectionTestUrlText", "Omnichannel Connect Test");
157
-
87
+ _defineProperty(Constants, "ChatWidgetStateChangedPrefix", "ChatWidgetStateChanged");
88
+ _defineProperty(Constants, "PostChatLoadingDurationInMs", 2000);
89
+ _defineProperty(Constants, "BrowserUnloadConfirmationMessage", "Do you want to leave chat?");
158
90
  const Regex = (_class = class Regex {}, _defineProperty(_class, "EmailRegex", "(?:[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])"), _class);
159
91
  exports.Regex = Regex;
160
-
161
92
  class HtmlIdNames {}
162
-
163
93
  exports.HtmlIdNames = HtmlIdNames;
164
-
165
94
  _defineProperty(HtmlIdNames, "MSLiveChatWidget", "MSLiveChatWidget");
166
-
167
95
  class HtmlClassNames {}
168
-
169
96
  exports.HtmlClassNames = HtmlClassNames;
170
-
171
97
  _defineProperty(HtmlClassNames, "webChatBannerCloseButton", "webchat__toast__dismissButton");
172
-
173
98
  _defineProperty(HtmlClassNames, "webChatBannerExpandButton", "webchat__toaster__expandIcon");
174
-
175
99
  class HtmlElementSelectors {}
176
-
177
100
  exports.HtmlElementSelectors = HtmlElementSelectors;
178
-
179
101
  _defineProperty(HtmlElementSelectors, "sendBoxSelector", "textarea[data-id=\"webchat-sendbox-input\"]");
180
-
181
102
  class HtmlAttributeNames {}
182
-
183
103
  exports.HtmlAttributeNames = HtmlAttributeNames;
184
-
185
104
  _defineProperty(HtmlAttributeNames, "role", "role");
186
-
187
105
  _defineProperty(HtmlAttributeNames, "navigation", "navigation");
188
-
189
106
  _defineProperty(HtmlAttributeNames, "ariaLabel", "aria-label");
190
-
191
107
  _defineProperty(HtmlAttributeNames, "ariaLive", "aria-live");
192
-
193
108
  _defineProperty(HtmlAttributeNames, "ariaDisabled", "aria-disabled");
194
-
195
109
  _defineProperty(HtmlAttributeNames, "form", "form");
196
-
197
110
  _defineProperty(HtmlAttributeNames, "ariaLabelledby", "aria-labelledby");
198
-
199
111
  _defineProperty(HtmlAttributeNames, "tabindex", "tabindex");
200
-
201
112
  _defineProperty(HtmlAttributeNames, "ariaRequired", "aria-required");
202
-
203
113
  _defineProperty(HtmlAttributeNames, "ariaDesribedby", "aria-describedby");
204
-
205
114
  _defineProperty(HtmlAttributeNames, "ariaHidden", "aria-hidden");
206
-
207
115
  _defineProperty(HtmlAttributeNames, "disabled", "disabled");
208
-
209
116
  _defineProperty(HtmlAttributeNames, "hidden", "hidden");
210
-
211
117
  _defineProperty(HtmlAttributeNames, "download", "download");
212
-
213
118
  _defineProperty(HtmlAttributeNames, "href", "href");
214
-
215
119
  _defineProperty(HtmlAttributeNames, "region", "region");
216
-
217
120
  _defineProperty(HtmlAttributeNames, "button", "button");
218
-
219
121
  _defineProperty(HtmlAttributeNames, "input", "Input");
220
-
221
122
  _defineProperty(HtmlAttributeNames, "style", "style");
222
-
223
123
  _defineProperty(HtmlAttributeNames, "head", "head");
224
-
225
124
  _defineProperty(HtmlAttributeNames, "type", "type");
226
-
227
125
  _defineProperty(HtmlAttributeNames, "csstext", "text/css");
228
-
229
126
  _defineProperty(HtmlAttributeNames, "listItem", "LI");
230
-
231
127
  _defineProperty(HtmlAttributeNames, "unorderedList", "UL");
232
-
233
128
  _defineProperty(HtmlAttributeNames, "div", "div");
234
-
235
129
  _defineProperty(HtmlAttributeNames, "aTagName", "a");
236
-
237
130
  _defineProperty(HtmlAttributeNames, "noopenerTag", "noopener");
238
-
239
131
  _defineProperty(HtmlAttributeNames, "noreferrerTag", "noreferrer");
240
-
241
132
  _defineProperty(HtmlAttributeNames, "adaptiveCardClassName", "ac-adaptiveCard");
242
-
243
133
  _defineProperty(HtmlAttributeNames, "adaptiveCardTextBlockClassName", "ac-textBlock");
244
-
245
134
  _defineProperty(HtmlAttributeNames, "adaptiveCardToggleInputClassName", "ac-toggleInput");
246
-
247
135
  class WebChatMiddlewareConstants {}
248
-
249
136
  exports.WebChatMiddlewareConstants = WebChatMiddlewareConstants;
250
-
251
137
  _defineProperty(WebChatMiddlewareConstants, "nextVisibleActivity", "nextVisibleActivity");
252
-
253
138
  _defineProperty(WebChatMiddlewareConstants, "timeBetweenTimestampGroups", 300000);
254
-
255
139
  _defineProperty(WebChatMiddlewareConstants, "maxTextLength", 6000);
256
-
257
140
  _defineProperty(WebChatMiddlewareConstants, "adaptiveCard", "AdaptiveCard");
258
-
259
141
  class MimeTypes {}
260
-
261
142
  exports.MimeTypes = MimeTypes;
262
-
263
143
  _defineProperty(MimeTypes, "UnknownFileType", "application/octet-stream");
264
-
265
144
  class LocaleConstants {}
266
-
267
145
  exports.LocaleConstants = LocaleConstants;
268
-
269
146
  _defineProperty(LocaleConstants, "RTL_LOCALES", ["1025", "1037"]);
270
-
271
147
  let ElementType;
272
148
  exports.ElementType = ElementType;
273
-
274
149
  (function (ElementType) {
275
150
  ElementType["CallingContainerSDK"] = "CallingContainerSDK";
276
151
  })(ElementType || (exports.ElementType = ElementType = {}));
277
-
278
152
  let ChatSDKError;
279
153
  exports.ChatSDKError = ChatSDKError;
280
-
281
154
  (function (ChatSDKError) {
282
155
  ChatSDKError["WidgetUseOutsideOperatingHour"] = "WidgetUseOutsideOperatingHour";
283
156
  })(ChatSDKError || (exports.ChatSDKError = ChatSDKError = {}));
284
-
285
157
  let EnvironmentVersion;
286
158
  exports.EnvironmentVersion = EnvironmentVersion;
287
-
288
159
  (function (EnvironmentVersion) {
289
160
  EnvironmentVersion["prod"] = "prod";
290
161
  EnvironmentVersion["dogfood"] = "df";
291
162
  EnvironmentVersion["int"] = "int";
292
163
  EnvironmentVersion["test"] = "test";
293
164
  })(EnvironmentVersion || (exports.EnvironmentVersion = EnvironmentVersion = {}));
294
-
165
+ let E2VVOptions;
166
+ exports.E2VVOptions = E2VVOptions;
167
+ (function (E2VVOptions) {
168
+ E2VVOptions["NoCalling"] = "192350000";
169
+ E2VVOptions["VideoAndVoiceCalling"] = "192350001";
170
+ E2VVOptions["VoiceOnly"] = "192350002";
171
+ })(E2VVOptions || (exports.E2VVOptions = E2VVOptions = {}));
172
+ let LiveWorkItemState;
173
+ exports.LiveWorkItemState = LiveWorkItemState;
174
+ (function (LiveWorkItemState) {
175
+ LiveWorkItemState["Active"] = "Active";
176
+ LiveWorkItemState["Closed"] = "Closed";
177
+ LiveWorkItemState["Open"] = "Open";
178
+ LiveWorkItemState["Waiting"] = "Waiting";
179
+ LiveWorkItemState["WrapUp"] = "WrapUp";
180
+ })(LiveWorkItemState || (exports.LiveWorkItemState = LiveWorkItemState = {}));
295
181
  class TranscriptConstants {}
296
-
297
182
  exports.TranscriptConstants = TranscriptConstants;
298
-
299
183
  _defineProperty(TranscriptConstants, "ChatTranscriptsBodyColor", "#F5F5F5");
300
-
301
184
  _defineProperty(TranscriptConstants, "TranscriptMessageEmojiMessageType", "http://schema.skype.com/emoji");
302
-
303
185
  _defineProperty(TranscriptConstants, "ChatTranscriptDownloadFile", "ChatTranscripts.html");
304
-
305
186
  _defineProperty(TranscriptConstants, "DefaultFileAttachmentName", "Untitled.txt");
306
-
307
187
  _defineProperty(TranscriptConstants, "CustomerDialogColor", "#E8E8E8");
308
-
309
188
  _defineProperty(TranscriptConstants, "CustomerFontColor", "black");
310
-
311
189
  _defineProperty(TranscriptConstants, "AdaptiveCardType", "adaptivecard");
312
-
313
190
  _defineProperty(TranscriptConstants, "InternalMode", "internal");
314
-
315
191
  _defineProperty(TranscriptConstants, "AgentDialogColor", "#2266E3");
316
-
317
192
  _defineProperty(TranscriptConstants, "AgentFontColor", "white");
318
-
319
193
  class AriaTelemetryConstants {}
320
-
321
194
  exports.AriaTelemetryConstants = AriaTelemetryConstants;
322
-
323
195
  _defineProperty(AriaTelemetryConstants, "GERMANY_ENDPOINT", "https://de.pipe.aria.microsoft.com/Collector/3.0/");
324
-
325
196
  _defineProperty(AriaTelemetryConstants, "GCCH_ENDPOINT", "https://tb.pipe.aria.microsoft.com/Collector/3.0/");
326
-
327
197
  _defineProperty(AriaTelemetryConstants, "DOD_ENDPOINT", "https://pf.pipe.aria.microsoft.com/Collector/3.0");
328
-
329
198
  _defineProperty(AriaTelemetryConstants, "EUROPE_ENDPOINT", "https://eu-mobile.events.data.microsoft.com/Collector/3.0/");
330
-
331
199
  _defineProperty(AriaTelemetryConstants, "MOONCAKE_ENDPOINT", "");
332
-
333
200
  _defineProperty(AriaTelemetryConstants, "Public", "Public");
334
-
335
201
  _defineProperty(AriaTelemetryConstants, "EU", "Europe");
336
-
337
202
  _defineProperty(AriaTelemetryConstants, "lcwEUDomainNames", ["crm4.omnichannelengagementhub.com", "crm12.omnichannelengagementhub.com", "crm16.omnichannelengagementhub.com", "crm17.omnichannelengagementhub.com", "crm19.omnichannelengagementhub.com"]);
@@ -4,10 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.KeyCodes = void 0;
7
-
8
7
  var _class;
9
-
10
8
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
-
12
9
  const KeyCodes = (_class = class KeyCodes {}, _defineProperty(_class, "ENTER", "Enter"), _defineProperty(_class, "TAB", "Tab"), _class);
13
10
  exports.KeyCodes = KeyCodes;
@@ -4,11 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.DataStoreManager = void 0;
7
-
8
7
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
-
10
8
  class DataStoreManager {}
11
-
12
9
  exports.DataStoreManager = DataStoreManager;
13
-
14
10
  _defineProperty(DataStoreManager, "clientDataStore", void 0);
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.registerBroadcastServiceForLocalStorage = exports.defaultCacheManager = void 0;
7
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
8
+ var _utils = require("../../utils");
9
+ var _defaultClientDataStoreProvider = require("./defaultClientDataStoreProvider");
10
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ class defaultCacheManager {}
12
+ exports.defaultCacheManager = defaultCacheManager;
13
+ _defineProperty(defaultCacheManager, "InternalCache", {});
14
+ const registerBroadcastServiceForLocalStorage = (orgid, widgetId, widgetInstanceId) => {
15
+ const widgetCacheId = (0, _utils.getWidgetCacheId)(orgid, widgetId, widgetInstanceId);
16
+ _omnichannelChatComponents.BroadcastService.getMessageByEventName(widgetCacheId).subscribe(msg => {
17
+ try {
18
+ (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)().setData(widgetCacheId, JSON.stringify(msg.payload), "localStorage");
19
+ } catch (error) {
20
+ console.error("Error in setting data to localstorage", error);
21
+ }
22
+ });
23
+ };
24
+ exports.registerBroadcastServiceForLocalStorage = registerBroadcastServiceForLocalStorage;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultClientDataStoreProvider = void 0;
7
+ var _defaultInMemoryDataStore = require("./defaultInMemoryDataStore");
8
+ var _TelemetryHelper = require("../../telemetry/TelemetryHelper");
9
+ var _TelemetryConstants = require("../../telemetry/TelemetryConstants");
10
+ const defaultClientDataStoreProvider = () => {
11
+ const isCookieAllowed = () => {
12
+ try {
13
+ localStorage;
14
+ sessionStorage;
15
+ return true;
16
+ } catch (error) {
17
+ console.error("Third party cookie blocked");
18
+ return false;
19
+ }
20
+ };
21
+ const TtlInMs = 15 * 60 * 1000; // 15 mins
22
+ const dataStoreProvider = {
23
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
+ setData: (key, data, type) => {
25
+ if (isCookieAllowed()) {
26
+ try {
27
+ if (key) {
28
+ const now = new Date();
29
+ const item = {
30
+ data: data,
31
+ expiry: now.getTime() + TtlInMs
32
+ };
33
+ const strItem = JSON.stringify(item);
34
+ if (type === "localStorage") {
35
+ localStorage.setItem(key, strItem);
36
+ } else {
37
+ sessionStorage.setItem(key, strItem);
38
+ }
39
+ }
40
+ } catch (error) {
41
+ _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.ERROR, {
42
+ Event: _TelemetryConstants.TelemetryEvent.ClientDataStoreProviderFailed,
43
+ ExceptionDetails: error,
44
+ Description: "Unable to store data in localStorage."
45
+ });
46
+ }
47
+ } else {
48
+ const dataToCache = {
49
+ key: key,
50
+ data: data,
51
+ type: type
52
+ };
53
+ parent.postMessage(dataToCache, "*");
54
+ }
55
+ },
56
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
+ getData: (key, type) => {
58
+ if (isCookieAllowed()) {
59
+ let item;
60
+ if (type === "localStorage") {
61
+ item = localStorage.getItem(key);
62
+ } else {
63
+ item = sessionStorage.getItem(key);
64
+ }
65
+ //Return item if not expired
66
+ let itemInJson = undefined;
67
+ if (item !== null) {
68
+ itemInJson = JSON.parse(item);
69
+ const now = new Date();
70
+ // compare the expiry time of the item with the current time
71
+ if (now.getTime() > itemInJson.expiry) {
72
+ // If the item is expired, delete the item from storage
73
+ // and return null
74
+ localStorage.removeItem(key);
75
+ return null;
76
+ }
77
+ return itemInJson.data;
78
+ }
79
+ } else {
80
+ // get data from in memory db when cookie is disabled
81
+ return (0, _defaultInMemoryDataStore.inMemoryDataStore)().getData(key);
82
+ }
83
+ },
84
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
+ removeData: (key, type) => {
86
+ if (isCookieAllowed()) {
87
+ if (key) {
88
+ if (type === "localStorage") {
89
+ return localStorage.removeItem(key);
90
+ } else {
91
+ return sessionStorage.removeItem(key);
92
+ }
93
+ }
94
+ } else {
95
+ // get data from in memory db when cookie is disabled
96
+ return (0, _defaultInMemoryDataStore.inMemoryDataStore)().removeData(key);
97
+ }
98
+ }
99
+ };
100
+ return dataStoreProvider;
101
+ };
102
+ exports.defaultClientDataStoreProvider = defaultClientDataStoreProvider;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.inMemoryDataStore = exports.defaultInitializeInMemoryDataStore = void 0;
7
+ var _TelemetryConstants = require("../../telemetry/TelemetryConstants");
8
+ var _TelemetryHelper = require("../../telemetry/TelemetryHelper");
9
+ var _defaultCacheManager = require("./defaultCacheManager");
10
+ const defaultInitializeInMemoryDataStore = widgetId => {
11
+ try {
12
+ localStorage;
13
+ } catch (error) {
14
+ // Register below events when localStorage is not accessible
15
+ // Listening to event raised from client browser
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ window.addEventListener("message", function (e) {
18
+ try {
19
+ if (e.data.key) {
20
+ const browserData = e.data;
21
+ if (_defaultCacheManager.defaultCacheManager.InternalCache[browserData.key]) {
22
+ delete _defaultCacheManager.defaultCacheManager.InternalCache[browserData.key];
23
+ }
24
+ _defaultCacheManager.defaultCacheManager.InternalCache[browserData.key] = browserData.data;
25
+ }
26
+ } catch (error) {
27
+ _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.ERROR, {
28
+ Event: _TelemetryConstants.TelemetryEvent.InMemoryDataStoreFailed,
29
+ ExceptionDetails: error,
30
+ Description: "Unable to register default in-memory cache."
31
+ });
32
+ }
33
+ });
34
+
35
+ // send cache initialize message to client
36
+ if (_defaultCacheManager.defaultCacheManager.InternalCache === undefined || {}) {
37
+ parent.postMessage({
38
+ data: "cacheinitialize",
39
+ widgetId: widgetId
40
+ }, "*");
41
+ }
42
+ }
43
+ };
44
+ exports.defaultInitializeInMemoryDataStore = defaultInitializeInMemoryDataStore;
45
+ const inMemoryDataStore = () => {
46
+ const dataStoreProvider = {
47
+ getData: key => {
48
+ if (_defaultCacheManager.defaultCacheManager.InternalCache && _defaultCacheManager.defaultCacheManager.InternalCache[key]) {
49
+ return _defaultCacheManager.defaultCacheManager.InternalCache[key];
50
+ }
51
+ },
52
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
+ setData: (key, data) => {
54
+ try {
55
+ _defaultCacheManager.defaultCacheManager.InternalCache[key] = data;
56
+ } catch (error) {
57
+ _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.ERROR, {
58
+ Event: _TelemetryConstants.TelemetryEvent.InMemoryDataStoreFailed,
59
+ ExceptionDetails: error,
60
+ Description: "Unable to set data in default in-memory cache."
61
+ });
62
+ }
63
+ },
64
+ removeData: key => {
65
+ try {
66
+ _defaultCacheManager.defaultCacheManager.InternalCache[key] = {};
67
+ } catch (error) {
68
+ _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.ERROR, {
69
+ Event: _TelemetryConstants.TelemetryEvent.InMemoryDataStoreFailed,
70
+ ExceptionDetails: error,
71
+ Description: "Unable to remove data from default in-memory cache."
72
+ });
73
+ }
74
+ }
75
+ };
76
+ return dataStoreProvider;
77
+ };
78
+ exports.inMemoryDataStore = inMemoryDataStore;